Content MCP tools — the four tools on /mcp#24
Merged
Conversation
- ContentMcpToolProvider implements McpToolProvider (auto-aggregated by McpServerConfig, gated on openelements.mcp.enabled): search_content, list_posts, get_post, list_categories. Thin adapters over ContentSearchService using McpTools/McpToolSupport/McpPaging; paging clamped; bootstrap guard -> McpUnavailableException; get_post maps IllegalArgumentException (neither url/id) and NoSuchElementException (absent). Tool logic extracted to package-private methods for testing. - ContentMcpToolProviderTest via a capturing ContentSearchService subclass. - Drift: spec 001's ContentMcpApplicationTests asserted an empty tool catalog; updated to expect the provider, with a Drift Log entry in 001-project-skeleton/behaviors.md. - Build: pin spring-services to 1.3.0-20260712.175350-13 (the floating 1.3.0-SNAPSHOT published a broken dependency-less -14 POM). 130 tests green. - steps.md; refresh CLAUDE.md. Refs #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ContentMcpToolProviderimplements the libraryMcpToolProvider(auto-aggregated byMcpServerConfig) and exposes the four content tools on/mcp:search_content,list_posts,get_post,list_categories. They are thin adapters overContentSearchService(spec 011) using the house helpers for schemas, paging, access logging, and JSON-RPC error mapping./mcpnow advertises real content tools.Spec
docs/specs/012-content-mcp-tools/{design,behaviors,steps}.mdChanges
ContentMcpToolProvider(gated onopenelements.mcp.enabled); tool logic extracted to package-private methods for direct testingMcpUnavailableException) on search/list;get_postmaps invalid-argument / not-foundContentMcpApplicationTestsasserted an empty tool catalog; updated to expect the provider, with a Drift Log entry in001-project-skeleton/behaviors.mdspring-servicesto1.3.0-20260712.175350-13— the floating1.3.0-SNAPSHOTpublished a broken (dependency-less)-14POM that broke compilationTest coverage
ContentSearchServicesubclass + realMcpToolSupport/McpPaging: registration, delegation, filter pass-through, size clamp, missing-arg/not-found/unavailable errors. 130 tests total; spec-review and quality-review clean.Closes #23
🤖 Generated with Claude Code